# Wireshark 过滤器
# 过滤符号及组合
# 示例
ip
相关ip.addr != 192.168.43.37 # 过滤非 192.168.43.37 主机的数据包, 官方不推荐使用该格式, 可能会出现漏包的现象. !(ip,addr == 192.168.43.37) # 或者使用 not ip.addr == 192.168.43.37 (ip.addr == 172.16.7.42 and dns) or (172.16.7.7 and icmp)
1
2
3
4
5
6针对协议的过滤
获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可
http
1
注意:是否区分大小写?答:区分,只能为小写
- 捕获多种协议的数据包
http or telnet
1
- 排除某种协议的数据包
not arp 或者 !tcp
1
针对端口的过滤(视传输协议而定)
- 捕获某一端口的数据包(以tcp协议为例)
tcp.port == 80
1- 捕获多端口的数据包,可以使用and来连接,下面是捕获高于某端口的表达式(以udp协议为例)
udp.port >= 2048
1针对长度和内容的过滤
- 针对长度的过虑(这里的长度指定的是数据段的长度)
udp.length < 20 http.content_length <=30
1
2- 针对uri 内容的过滤
http.request.uri matches "user" (请求的uri中包含“user”关键字的)
1注意:
matches
后的关键字是不区分大小写
的!http.request.uri contains "User" (请求的uri中包含“user”关键字的)
1注意:
contains
后的关键字是区分大小写
的!针对http请求的一些过滤实例。
- 过滤出请求地址中包含“user”的请求,不包括域名;
http.request.uri contains "User"
1- 精确过滤域名
http.host==baidu.com
1- 模糊过滤域名
http.host contains "baidu"
1- 过滤请求的content_type类型
http.content_type =="text/html"
1- 过滤http请求方法
http.request.method=="POST"
1- 过滤tcp端口
tcp.port==80 http && tcp.port==80 or tcp.port==5566
1
2- 过滤http响应状态码
http.response.code==302
1- 过滤含有指定cookie的http数据包
http.cookie contains "userid"
1
# 参考链接
- Wireshark过滤器写法总结: https://www.cnblogs.com/willingtolove/p/12519490.html